package com.treeHole.treeHoleServer.service;


import com.treeHole.treeHoleServer.pojo.RequestDataDTO.PostDeletePostDTO;
import com.treeHole.treeHoleServer.pojo.ResultDataDTO.ResultPostDTO;
import com.treeHole.treeHoleServer.pojo.ResultDataDTO.ResultPostDetailDTO;

import java.util.List;

/**
 * 负责用户与帖子进行交互的业务类接口
 */
public interface PostService {

    //获取最新帖子
    List<ResultPostDTO> getNewestPost(Integer tag, Integer userId, Integer page);
    //获取最热帖子
    List<ResultPostDTO> getHottestPost(Integer userId);

    int userLikePost(Integer userId, Integer postId);
    int userUnlikePost(Integer userId, Integer postId);
    int userCollectPost(Integer userId, Integer postId);
    int userUnCollectPost(Integer userId, Integer postId);

    //获取用户个人发布的帖子
    List<ResultPostDTO> getUserPersonalPost(Integer userId,Integer page);
    //获取用户收藏的帖子
    List<ResultPostDTO> getUserFavoritePost(Integer userId,Integer page);

    ResultPostDetailDTO getPostDetail(Integer postId, Integer userId);

    //用户发布帖子
    Integer userCreatePost(PostDeletePostDTO postDTO);
    //用户删除帖子
    int userDeletePost(Integer postId);

    List<ResultPostDTO> searchPost(String keyword,Integer userId,Integer tag);

}
